package cn.tedu.oop;

/**
 * @Author 金帮嘉诚
 * @Date 2021-06-11 周五 11:14
 */
/*本类用于抽象类构造函数测试*/
    /*抽象类中是否有构造方法？有
    * 问题：既然抽象类不能实例化，为什么要有构造方法呢？
    * 解释：不是为了自己使用，而是为了子类创建对象时使用super（）调用*/
public class AbstractDemo2 {
    public static void main(String[] args) {
        //4.抽象类不可以创建对象
        //Animal2 a=new Animal2();
        //5.子类
        Pig2 p = new Pig2();
        Animal2 a = new Pig2();
    }
}

abstract class Animal2 {
    public Animal2() {
        System.out.println("Animal2 Constructor 我是Animal2的构造方法~");
    }
}

class Pig2 extends Animal2 {
    //6.无参
    public Pig2() {
        super();//调用，默认存在
        System.out.println("Pig2 Constructor 我是Pig2的构造方法~");
    }
}
//伪代码